package com.yonyou.brigade.order_center.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author jiangzhf@yonyou.com
 * @since 2018-06-14
 */
@TableName("bri_train_order")
public class BriTrainOrder extends Model<BriTrainOrder> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 订单号
     */
    @TableField("order_no")
    private String orderNo;
    /**
     * 1 因公 2因私
     */
    @TableField("public_or_priveate")
    private String publicOrPriveate;
    /**
     * 国内国际类型 D国内 I国际
     */
    @TableField("is_domc")
    private String isDomc;
    /**
     * 溢价原因
     */
    @TableField("preium_reason")
    private String preiumReason;
    /**
     * 溢价详情
     */
    @TableField("preium_detail")
    private String preiumDetail;
    /**
     * N正常单 T退票单
     */
    @TableField("status_type")
    private String statusType;
    /**
     * 有效时间
     */
    @TableField("yx_date")
    private Date yxDate;
    /**
     * 节省金额
     */
    @TableField("save_price")
    private BigDecimal savePrice;
    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;
    /**
     * 用户userId
     */
    @TableField("user_id")
    private String userId;
    /**
     * 租户ID
     */
    @TableField("tenant")
    private String tenant;
    /**
     * 组织PK
     */
    @TableField("org_pk")
    private String orgPk;
    /**
     * 部门PK
     */
    @TableField("dept_pk")
    private String deptPk;
    /**
     * 部门注：为空或"/"则默认到企业总部下面,多部门之间用"/"分割，例如部门是差旅研发组，则这样表示（/研发中心/差旅研发组）
     */
    @TableField("department")
    private String department;
    /**
     * 创建时间
     */
    @TableField("order_time")
    private Date orderTime;
    /**
     * WS 待提交：开启审批需求的因公新订单未提交审批的订单；【只能取消订单】
WA 等待审批：开启审批需求的因公新订单未审批订单；【不能做任何操作】
WR 审批已拒绝：审批单被拒绝 【只能取消订单】
AT 新单待确认【只能取消订单】
NW 新订单待支付【可取消订单，可支付】
PY 已支付【不能做任何操作】
TP 已出票【根据是否可退票判断做退票操作】
RW 出票失败待退款【不能做任何操作】
RP 出票失败已退款【不能做任何操作】
CO 已取消【不能做任何操作】
AR 申请退票【不能做任何操作】
PR 退票(退款)部分成功 【不能做任何操作】
FR 退票成功【不能做任何操作】
RR 退票失败【不能做任何操作】
GA 改签申请
GE 改签失败
GK 座位确认
GO 取消改签
GT 改签成功
GR 改签退票单(未退款) -改签退票成功
GD 改签退票单结束(已退款)- 改签退票成功
     */
    @TableField("order_status")
    private String orderStatus;
    /**
     * 支付金额
     */
    @TableField("payment_price")
    private BigDecimal paymentPrice;
    /**
     * 联系人
     */
    @TableField("link_name")
    private String linkName;
    /**
     * 取消原因
     */
    @TableField("cancel_reason")
    private String cancelReason;
    /**
     * 支付超时时间
     */
    @TableField("pay_limit_time")
    private Date payLimitTime;
    /**
     * 支付超时时间 Y超时 N 没超时
     */
    @TableField("pay_limit_status")
    private String payLimitStatus;
    /**
     * 联系电话
     */
    @TableField("link_phone")
    private String linkPhone;
    /**
     * 退票流水号
     */
    @TableField("refund_swift_no")
    private String refundSwiftNo;
    /**
     * 是否允许提交退票 Y允许 N不允许
     */
    @TableField("is_allow_refund")
    private String isAllowRefund;

    @TableField("json_other_info")
    private String jsonOtherInfo;
    /**
     * 最晚允许支付时间
     */
    @TableField("allow_pay_date")
    private Date allowPayDate;
    /**
     * 是否需要审批
     */
    @TableField("is_check")
    private String isCheck;
    /**
     * 审批状态 0未提交 1待审批 2审批通过 3 审批不通过
     */
    @TableField("check_status")
    private String checkStatus;
    /**
     * 订单类型 N正常单 T退票单 G改签订单
     */
    @TableField("order_type")
    private String orderType;
    /**
     * 实退金额
     */
    @TableField("refund_price")
    private BigDecimal refundPrice;
    /**
     * 退票费
     */
    @TableField("tp_price")
    private BigDecimal tpPrice;
    /**
     * 服务费
     */
    @TableField("sum_counter_fee")
    private BigDecimal sumCounterFee;
    /**
     * 改签总变更费，改签订单时使用
     */
    @TableField("carrier_sum_fee")
    private BigDecimal carrierSumFee;
    /**
     * 是否补录订单补录订单不允许对订单做任何操作 0非补录订单 1 补录订单
     */
    @TableField("is_supplement")
    private Integer isSupplement;
    /**
     * 审批方式 1商旅审批 2 OA审批
     */
    @TableField("verify_type")
    private String verifyType;
    /**
     * 责任人
     */
    @TableField("head_user_name")
    private String headUserName;
    /**
     * 审批规则ID
     */
    @TableField("flow_base_id")
    private String flowBaseId;
    /**
     * 是否允许审批 0 不允许审批操作 1 允许审批操作
     */
    @TableField("is_allow_check")
    private String isAllowCheck;

    @TableField("order_status_name")
    private String orderStatusName;

    /**
     * 12306订单号
     */
    @TableField("train_order_no")
    private String trainOrderNo;
    /**
     * 改签单/退票单原订单号
     */
    @TableField("parent_order_no")
    private String parentOrderNo;
    /**
     * 出差审批单号
     */
    @TableField("apply_order_no")
    private String applyOrderNo;
    /**
     * 结算币种
     */
    @TableField("currency")
    private String currency;
    /**
     * 支付方式
     */
    @TableField("payment_type")
    private String paymentType;
    /**
     * 预订方式
     */
    @TableField("pre_order_mode")
    private String preOrderMode;
    /**
     * 关联行程号
     */
    @TableField("relate_ybz_id")
    private String relateYBZID;
    /**
     * 关联申请单号
     */
    @TableField("relate_other_id")
    private String relateOtherID;
    /**
     * 授权状态
     */
    @TableField("auth_status")
    private String authStatus;
    /**
     * 报销状态
     */
    @TableField("bx_status")
    private Integer bxStatus;
    /**
     * 备注
     */
    @TableField("note")
    private String note;
    /**
     * 持卡人
     */
    @TableField("card_holder_name")
    private String cardHolderName;
    /**
     * 张数
     */
    @TableField("tickets_num")
    private Integer ticketsNum;
    /**
     * 支付类型
     */
    @TableField("pay_type")
    private String payType;
    /**
     * 机票来源,如zhyg中航易购等
     */
    @TableField("from_type")
    private String fromType;
    /**
     * 纸质票出票费
     */
    @TableField("paper_ticket_fee")
    private BigDecimal paperTicketFee;
    private Date ts;

    /**
     * 是否已经生成记事 0 没有    1有
     */
    @TableField("is_note")
    private String isNote;

    /**
     * 拉单使用的channelID
     */
    @TableField("channel_id")
    private String channelId;

    /**
     * 报销状态
     */
    @TableField("bx_state")
    private String bxState;

    /**
     * 商旅标记
     */
    @TableField("category")
    private String category;

    /**
     * 费用承担单位
     */
    @TableField("assume_org")
    private String assumeOrg;

    /**
     * 费用承担部门
     */
    @TableField("assume_dept")
    private String assumeDept;

    /**
     * 费用项目
     */
    @TableField("cost_project")
    private String costProject;

    /**
     * 实际申请人
     */
    @TableField("apply_user")
    private String applyUser;

    /**
     * 实际出行人
     */
    @TableField("companion")
    private String companion;

    public String getBxState() {
        return bxState;
    }

    public void setBxState(String bxState) {
        this.bxState = bxState;
    }


    public String getIsNote() {
        return isNote;
    }

    public void setIsNote(String isNote) {
        this.isNote = isNote;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getPublicOrPriveate() {
        return publicOrPriveate;
    }

    public void setPublicOrPriveate(String publicOrPriveate) {
        this.publicOrPriveate = publicOrPriveate;
    }

    public String getIsDomc() {
        return isDomc;
    }

    public void setIsDomc(String isDomc) {
        this.isDomc = isDomc;
    }

    public String getPreiumReason() {
        return preiumReason;
    }

    public void setPreiumReason(String preiumReason) {
        this.preiumReason = preiumReason;
    }

    public String getStatusType() {
        return statusType;
    }

    public void setStatusType(String statusType) {
        this.statusType = statusType;
    }

    public Date getYxDate() {
        return yxDate;
    }

    public void setYxDate(Date yxDate) {
        this.yxDate = yxDate;
    }

    public BigDecimal getSavePrice() {
        return savePrice;
    }

    public void setSavePrice(BigDecimal savePrice) {
        this.savePrice = savePrice;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getOrgPk() {
        return orgPk;
    }

    public void setOrgPk(String orgPk) {
        this.orgPk = orgPk;
    }

    public String getDeptPk() {
        return deptPk;
    }

    public void setDeptPk(String deptPk) {
        this.deptPk = deptPk;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public BigDecimal getPaymentPrice() {
        return paymentPrice;
    }

    public void setPaymentPrice(BigDecimal paymentPrice) {
        this.paymentPrice = paymentPrice;
    }


    public String getLinkName() {
        return linkName;
    }

    public void setLinkName(String linkName) {
        this.linkName = linkName;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public Date getPayLimitTime() {
        return payLimitTime;
    }

    public void setPayLimitTime(Date payLimitTime) {
        this.payLimitTime = payLimitTime;
    }

    public String getPayLimitStatus() {
        return payLimitStatus;
    }

    public void setPayLimitStatus(String payLimitStatus) {
        this.payLimitStatus = payLimitStatus;
    }

    public String getLinkPhone() {
        return linkPhone;
    }

    public void setLinkPhone(String linkPhone) {
        this.linkPhone = linkPhone;
    }

    public String getRefundSwiftNo() {
        return refundSwiftNo;
    }

    public void setRefundSwiftNo(String refundSwiftNo) {
        this.refundSwiftNo = refundSwiftNo;
    }

    public String getIsAllowRefund() {
        return isAllowRefund;
    }

    public void setIsAllowRefund(String isAllowRefund) {
        this.isAllowRefund = isAllowRefund;
    }

    public String getJsonOtherInfo() {
        return jsonOtherInfo;
    }

    public void setJsonOtherInfo(String jsonOtherInfo) {
        this.jsonOtherInfo = jsonOtherInfo;
    }

    public Date getAllowPayDate() {
        return allowPayDate;
    }

    public void setAllowPayDate(Date allowPayDate) {
        this.allowPayDate = allowPayDate;
    }

    public String getIsCheck() {
        return isCheck;
    }

    public void setIsCheck(String isCheck) {
        this.isCheck = isCheck;
    }

    public String getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public BigDecimal getRefundPrice() {
        return refundPrice;
    }

    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getTpPrice() {
        return tpPrice;
    }

    public void setTpPrice(BigDecimal tpPrice) {
        this.tpPrice = tpPrice;
    }

    public BigDecimal getSumCounterFee() {
        return sumCounterFee;
    }

    public void setSumCounterFee(BigDecimal sumCounterFee) {
        this.sumCounterFee = sumCounterFee;
    }

    public BigDecimal getCarrierSumFee() {
        return carrierSumFee;
    }

    public void setCarrierSumFee(BigDecimal carrierSumFee) {
        this.carrierSumFee = carrierSumFee;
    }

    public Integer getIsSupplement() {
        return isSupplement;
    }

    public void setIsSupplement(Integer isSupplement) {
        this.isSupplement = isSupplement;
    }

    public String getVerifyType() {
        return verifyType;
    }

    public void setVerifyType(String verifyType) {
        this.verifyType = verifyType;
    }

    public String getHeadUserName() {
        return headUserName;
    }

    public void setHeadUserName(String headUserName) {
        this.headUserName = headUserName;
    }

    public String getFlowBaseId() {
        return flowBaseId;
    }

    public void setFlowBaseId(String flowBaseId) {
        this.flowBaseId = flowBaseId;
    }

    public String getIsAllowCheck() {
        return isAllowCheck;
    }

    public void setIsAllowCheck(String isAllowCheck) {
        this.isAllowCheck = isAllowCheck;
    }

    public String getOrderStatusName() {
        return orderStatusName;
    }

    public void setOrderStatusName(String orderStatusName) {
        this.orderStatusName = orderStatusName;
    }

    public String getTrainOrderNo() {
        return trainOrderNo;
    }

    public void setTrainOrderNo(String trainOrderNo) {
        this.trainOrderNo = trainOrderNo;
    }

    public String getParentOrderNo() {
        return parentOrderNo;
    }

    public void setParentOrderNo(String parentOrderNo) {
        this.parentOrderNo = parentOrderNo;
    }

    public String getApplyOrderNo() {
        return applyOrderNo;
    }

    public void setApplyOrderNo(String applyOrderNo) {
        this.applyOrderNo = applyOrderNo;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public String getPreOrderMode() {
        return preOrderMode;
    }

    public void setPreOrderMode(String preOrderMode) {
        this.preOrderMode = preOrderMode;
    }

    public String getRelateYBZID() {
        return relateYBZID;
    }

    public void setRelateYBZID(String relateYBZID) {
        this.relateYBZID = relateYBZID;
    }

    public String getRelateOtherID() {
        return relateOtherID;
    }

    public void setRelateOtherID(String relateOtherID) {
        this.relateOtherID = relateOtherID;
    }

    public String getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(String authStatus) {
        this.authStatus = authStatus;
    }

    public Integer getBxStatus() {
        return bxStatus;
    }

    public void setBxStatus(Integer bxStatus) {
        this.bxStatus = bxStatus;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getCardHolderName() {
        return cardHolderName;
    }

    public void setCardHolderName(String cardHolderName) {
        this.cardHolderName = cardHolderName;
    }

    public Integer getTicketsNum() {
        return ticketsNum;
    }

    public void setTicketsNum(Integer ticketsNum) {
        this.ticketsNum = ticketsNum;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getFromType() {
        return fromType;
    }

    public void setFromType(String fromType) {
        this.fromType = fromType;
    }

    public BigDecimal getPaperTicketFee() {
        return paperTicketFee;
    }

    public void setPaperTicketFee(BigDecimal paperTicketFee) {
        this.paperTicketFee = paperTicketFee;
    }

    public Date getTs() {
        return ts;
    }

    public void setTs(Date ts) {
        this.ts = ts;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getAssumeOrg() {
        return assumeOrg;
    }

    public void setAssumeOrg(String assumeOrg) {
        this.assumeOrg = assumeOrg;
    }

    public String getAssumeDept() {
        return assumeDept;
    }

    public void setAssumeDept(String assumeDept) {
        this.assumeDept = assumeDept;
    }

    public String getCostProject() {
        return costProject;
    }

    public void setCostProject(String costProject) {
        this.costProject = costProject;
    }

    public String getApplyUser() {
        return applyUser;
    }

    public void setApplyUser(String applyUser) {
        this.applyUser = applyUser;
    }

    public String getCompanion() {
        return companion;
    }

    public void setCompanion(String companion) {
        this.companion = companion;
    }

    public String getPreiumDetail() {
        return preiumDetail;
    }

    public void setPreiumDetail(String preiumDetail) {
        this.preiumDetail = preiumDetail;
    }

    public static final String ID = "id";

    public static final String ORDER_NO = "order_no";

    public static final String PUBLIC_OR_PRIVEATE = "public_or_priveate";

    public static final String ORDER_STATUS = "order_status";

    public static final String CREATE_BY = "create_by";

    public static final String USER_ID = "user_id";

    public static final String ORG_PK = "org_pk";

    public static final String TENANT = "tenant";

    public static final String DEPT_PK = "dept_pk";

    public static final String DEPARTMENT = "department";

    public static final String PAYMENT_PRICE = "payment_price";

    public static final String LINK_NAME = "link_name";

    public static final String CANCEL_REASON = "cancel_reason";

    public static final String PAY_LIMIT_TIME = "pay_limit_time";

    public static final String PAY_LIMIT_STATUS = "pay_limit_status";

    public static final String LINK_PHONE = "link_phone";

    public static final String REFUND_SWIFT_NO = "refund_swift_no";

    public static final String IS_ALLOW_REFUND = "is_allow_refund";

    public static final String ALLOW_PAY_DATE = "allow_pay_date";

    public static final String IS_CHECK = "is_check";

    public static final String CHECK_STATUS = "check_status";

    public static final String ORDER_TYPE = "order_type";

    public static final String REFUND_PRICE = "refund_price";

    public static final String TP_PRICE = "tp_price";

    public static final String SUM_COUNTER_FEE = "sum_counter_fee";

    public static final String CARRIER_SUM_FEE = "carrier_sum_fee";

    public static final String IS_SUPPLEMENT = "is_supplement";

    public static final String VERIFY_TYPE = "verify_type";

    public static final String HEAD_USER_NAME = "head_user_name";

    public static final String FLOW_BASE_ID = "flow_base_id";

    public static final String IS_ALLOW_CHECK = "is_allow_check";

    public static final String TRAIN_ORDER_NO = "train_order_no";

    public static final String PARENT_ORDER_NO = "parent_order_no";

    public static final String APPLY_ORDER_NO = "apply_order_no";

    public static final String CURRENCY = "currency";

    public static final String PRE_ORDER_MODE = "pre_order_mode";

    public static final String PAYMENT_TYPE = "payment_type";

    public static final String RELATE_YBZ_ID = "relate_ybz_id";

    public static final String RELATE_OTHER_ID = "relate_other_id";

    public static final String AUTH_STATUS = "auth_status";

    public static final String BX_STATUS = "bx_status";

    public static final String NOTE = "note";

    public static final String CARD_HOLDER_NAME = "card_holder_name";

    public static final String TICKETS_NUM = "tickets_num";

    public static final String PAY_TYPE = "pay_type";

    public static final String FROM_TYPE = "from_type";

    public static final String PAPER_TICKET_FEE = "paper_ticket_fee";

    public static final String TS = "ts";

    public static final String CATEGORY = "category";

    public static final String ASSUME_ORG = "assumeOrg";

    public static final String ASSUME_DEPT = "assumeDept";

    public static final String COST_PROJECT = "costProject";

    public static final String APPLY_USER = "applyUser";

    public static final String COMPANION = "companion";

    public static final String TRAINTICKETS = "trainTickets";

    public static final String TRAINPASSENGERS = "trainPassengers";

    public static final String TRAINPAYMENTS = "trainPayments";

    public static final String TRAINORDERS = "trainOrders";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "BriTrainOrder{" +
                "id=" + id +
                ", orderNo=" + orderNo +
                ", publicOrPriveate=" + publicOrPriveate +
                ", isDomc=" + isDomc +
                ", preiumReason=" + preiumReason +
                ", statusType=" + statusType +
                ", yxDate=" + yxDate +
                ", savePrice=" + savePrice +
                ", createBy=" + createBy +
                ", userId=" + userId +
                ", tenant=" + tenant +
                ", orgPk=" + orgPk +
                ", deptPk=" + deptPk +
                ", department=" + department +
                ", orderTime=" + orderTime +
                ", orderStatus=" + orderStatus +
                ", paymentPrice=" + paymentPrice +
                ", linkName=" + linkName +
                ", cancelReason=" + cancelReason +
                ", payLimitTime=" + payLimitTime +
                ", payLimitStatus=" + payLimitStatus +
                ", linkPhone=" + linkPhone +
                ", refundSwiftNo=" + refundSwiftNo +
                ", isAllowRefund=" + isAllowRefund +
                ", jsonOtherInfo=" + jsonOtherInfo +
                ", allowPayDate=" + allowPayDate +
                ", isCheck=" + isCheck +
                ", checkStatus=" + checkStatus +
                ", orderType=" + orderType +
                ", refundPrice=" + refundPrice +
                ", tpPrice=" + tpPrice +
                ", sumCounterFee=" + sumCounterFee +
                ", carrierSumFee=" + carrierSumFee +
                ", isSupplement=" + isSupplement +
                ", verifyType=" + verifyType +
                ", headUserName=" + headUserName +
                ", flowBaseId=" + flowBaseId +
                ", isAllowCheck=" + isAllowCheck +
                ", orderStatusName=" + orderStatusName +
                ", trainOrderNo=" + trainOrderNo +
                ", parentOrderNo=" + parentOrderNo +
                ", applyOrderNo=" + applyOrderNo +
                ", currency=" + currency +
                ", paymentType=" + paymentType +
                ", preOrderMode=" + preOrderMode +
                ", relateYBZID=" + relateYBZID +
                ", relateOtherID=" + relateOtherID +
                ", authStatus=" + authStatus +
                ", bxStatus=" + bxStatus +
                ", note=" + note +
                ", cardHolderName=" + cardHolderName +
                ", ticketsNum=" + ticketsNum +
                ", payType=" + payType +
                ", fromType=" + fromType +
                ", paperTicketFee=" + paperTicketFee +
                ", ts=" + ts +
                ", category=" + category +
                ", assumeOrg=" + assumeOrg +
                ", assumeDept=" + assumeDept +
                ", costProject=" + costProject +
                ", applyUser=" + applyUser +
                ", companion=" + companion +
                '}';
    }
}
